package framework;

import org.openems.entity.Entity;
import org.openems.entity.Key;

import framework.webclient.ProxyData;
import framework.webserver.WebHandler;

public interface DomainService {

	public abstract void putEntity(Entity entity);
	
	public abstract Entity getEntity(Key key);
	
	public abstract void addCommand(Command command);

//	public abstract void setResolver(Resolver resolver2);

	public abstract void addEntityStoreListener(
			EntityStoreListener entityStoreListener, Key key);

	public abstract void removeEntityStoreListener(
			EntityStoreListener entityStoreListener);

	public abstract boolean isOnline();

	public abstract void initialize(String account, String password, ProxyData proxy);

	public abstract void webRequestReceived(String line);

	public abstract void addWebHandler(
			WebHandler myWebSocketHandler);

	public abstract String getServiceName();

}